import { observable, action, runInAction, autorun, computed } from "mobx"

import { apiPostTest001 } from "@/api/counter.js"

//observable可以用来观测一个数据，这个数据可以数字、字符串、数组、对象等类型(相关知识点具体会在后文中详述)，而当观测到的数据发生变化的时候，如果变化的值处在autorun中，那么autorun就会自动执行。
//computed-计算属性
//**被observable观测数据的修改是同步的
class CounterStore {
  @observable count = []

  @action
  testData = async (args = {}) => {
    const params = {
      orgId: 1,
      pageNumber: 1,
      pageSize: 1000,
      ...args
    }
    try {
      const res = await apiPostTest001(params)
      runInAction(() => {
        if (res.datas) {
          this.count = res.datas
        } else {
          console.log(res.msg)
        }
      })
    } catch (err) {
      console.log(err)
    }
  }
}

export default CounterStore
